package com.chainyoung.trademarket.mvp.contract;

import com.chainyoung.common.appcommon.entity.HdWalletCache;
import com.chainyoung.common.appcommon.entity.Version;
import com.chainyoung.common.bean.UserInfo;
import com.chainyoung.common.mvp.IModel;
import com.chainyoung.common.mvp.IView;
import com.chainyoung.component_tmperson.entity.MyTotalAsset;
import com.chainyoung.trademarket.entity.Ad;

import java.util.List;
import java.util.TreeMap;

import io.reactivex.Flowable;

public interface MainContract {

    interface View extends IView{

        void onGetUserInfoSuccess(UserInfo userInfo);


        void showVersion(Version data);

        //void onGetIndexAdSuccess(List<Ad> data);

        //void onGetTotalAsset(MyTotalAsset data);

        void onAddHdWalletCacheSuccess(HdWalletCache data);

        void onGetAllHdWalletCaches(List<HdWalletCache> datas);
    }

    interface Model extends IModel{
        Flowable<UserInfo> getUserInfo(TreeMap<String,Object> map);

        Flowable<Version> checkUpdate();

        Flowable<HdWalletCache> addHdWalletCache(HdWalletCache item);

        Flowable<List<HdWalletCache>> getAllHdWalletCaches(String coinType);

        //Flowable<List<Ad>> getIndexAds(TreeMap<String,Object> map);

        //Flowable<MyTotalAsset> getTotalAsset(TreeMap<String,Object> map);
    }
}
